﻿using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

namespace CEMS_DHKH.Models.Mapping
{
    public class GiangVienDaoTaoDaiHocMap : EntityTypeConfiguration<GiangVienDaoTaoDaiHoc>
    {
        public GiangVienDaoTaoDaiHocMap()
        {
            // Khoá chính
            this.HasKey(t => new { t.MaGiangVien });

            // Thuộc tính
            this.Property(t => t.MaGiangVien)
                .IsRequired()
                .HasMaxLength(50);

            this.Property(t => t.HoDem)
                .IsRequired()
                .HasMaxLength(250);

            this.Property(t => t.Ten)
                .IsRequired()
                .HasMaxLength(250);

            this.Property(t => t.GioiTinh)
                .IsRequired();

            this.Property(t => t.HocHam)
                .IsRequired()
                .HasMaxLength(250);

            this.Property(t => t.HocVi)
                .IsRequired()
                .HasMaxLength(250);

            this.Property(t => t.MaDonVi)
                .IsRequired()
                .HasMaxLength(50);

            // Ánh xạ bảng và các cột
            this.ToTable("vwGiangVien");
            this.Property(t => t.MaGiangVien).HasColumnName("MaGiangVien");
            this.Property(t => t.HoDem).HasColumnName("HoDem");
            this.Property(t => t.Ten).HasColumnName("Ten");
            this.Property(t => t.GioiTinh).HasColumnName("GioiTinh");
            this.Property(t => t.HocHam).HasColumnName("HocHam");
            this.Property(t => t.HocVi).HasColumnName("HocVi");
            this.Property(t => t.MaDonVi).HasColumnName("MaDonVi");
        }
    }
}
